package com.jingxuan.service;

import com.jingxuan.dto.request.AddCartItemRequest;
import com.jingxuan.dto.response.AddCartItemResponse;
import com.jingxuan.dto.response.ClearCartResponse;
import com.jingxuan.dto.response.GetCartItemResponse;
import com.jingxuan.dto.response.SetCartItemSelectedResponse;
import com.jingxuan.dto.response.UpdateCartItemQuantityResponse;

public interface CartService {
    /**
     * 添加商品到购物车
     */
    AddCartItemResponse addCartItem(Long userId, AddCartItemRequest request);

    /**
     * 获取购物车列表
     */
    GetCartItemResponse getCartItems(Long userId);

    /**
     * 更新购物车商品数量
     */
    UpdateCartItemQuantityResponse updateCartItemQuantity(Long userId, String productId, Integer quantity);

    /**
     * 是否选中购物车商品
     */
    SetCartItemSelectedResponse setCartItemSelected(Long userId, String productId, Boolean selected);

    /**
     * 清空购物车
     */
    ClearCartResponse clearCart(Long userId);
}
